|
XPages アプリケーション開発の中で利用できる、XSP クライアントサイド Javascript オブジェクト関数について解説します。
|
ShowTable of Contents
はじめに
XPages アプリケーションでは、ビジネスアプリケーションのロジックはサーバーサイド Javascript (SSJS)で記述しますが、クライアントサイド Javascript (CSJS)でも利用できるさまざまな関数を提供します。それはは XSP クライアントサイド、Javascript オブジェクト関数としてまとめられています。
この記事では XSP クライアントサイド、Javascript オブジェクト関数について解説します。
XSP クライアントサイド、Javascript オブジェクト関数
XSP クライアントサイド Javascript オブジェクト関数では、ブラウザや XPiNC (XPages in Notes Client) での Notes で利用で呼び出せる XPages 関連の関数です。これらの関数を利用することで、XPages エンジンの提供する SSJS などのサーバーサイドの仕組みと柔軟に連携するアプリケーションを開発することができます。
また、この関数にはダイアログの表示といった汎用的な関数も含まれています。これらは一般的な Javascript の関数や、Dojo ライブラリを用いて実現することも可能です。しかし、XSP クライアントサイド Javascript オブジェクト関数で実装することで、XPages が利用できるさまざまなプラットフォームに対応させることができます。たとえば XSP.alert() 関数は、ブラウザでは Dojo のダイアログを表示しますが、Notes クライアントでは Notes のダイアログを表示します。
XSP クライアントサイド Javascript Object 関数
以下の表に、XPages アプリケーション開発で使用できる XSP クライアントサイド Javascript オブジェクトのパブリック関数の一覧を示します。この一覧は Lotus Domino 8.5.3 で利用できる関数です。
これらのパブリック関数のほかにプライベート関数も利用可能ですが、それらは XPages のエンジンに対して直接の操作を行う点で使用が難しく、推奨されていません。
分類/関数名 |
プラットフォーム |
ライブラリ |
説明 |
ダイアログ表示 |
|
|
|
XSP.alert(message) |
All |
xspClientDojo.js |
ダイアログの表示 |
XSP.confirm(message) |
All |
xspClientDojo.js |
確認ダイアログの表示 |
XSP.error(message) |
All |
xspClientDojo.js |
エラーダイアログの表示 |
XSP.prompt(message, defaultCaption) |
All |
xspClientDojo.js |
入力ダイアログの表示 |
Dojo ライブラリ |
|
|
|
XSP.djRequire(name) |
All |
xspClientDojo.js |
指定した Dojo モジュールのロード |
送信処理 |
|
|
|
XSP.addPreSubmitListener(formId,listener,clientId,scriptId) |
All |
xspClientDojo.js |
ページ送信の直前にクライアントサイドで呼ばれる JavaScript 関数の登録 |
XSP.addQuerySubmitListener(formId,listener,clientId,scriptId) |
All |
xspClientDojo.js |
ページ送信の直前にクライアントサイドで呼ばれ、送信の続行の可否を制御する JavaScript 関数の登録 |
XSP.canSubmit() |
All |
xspClientDojo.js |
ページ送信の可否を判定 |
XSP.allowSubmit() |
All |
xspClientDojo.js |
ページ送信を可能に設定 |
XSP.setSubmitValue(submitValue) |
All |
xspClientDojo.js |
ページ送信時に送信されるデータの設定 |
XSP.getSubmitValue() |
All |
xspClientDojo.js |
ページ送信時に送信されるデータの取得 |
入力内容と妥当性確認 |
|
|
|
XSP.validateAll(formId,valmode,execId) |
All |
xspClientDojo.js |
ページ内のすべてのクライアントサイドのバリデータと入力妥当性判断の実行 |
XSP.getFieldValue(node) |
All |
xspClientDojo.js |
フィールドの値の取得 |
XSP.getDijitFieldValue(dj) |
All |
xspClientDojo.js |
Dojo Dijit の値の取得 |
XSP.validateError(clientId,message) |
All |
xspClientDojo.js |
入力妥当性判断の実行とエラーダイアログの表示 |
UI 制御 |
|
|
|
XSP.scrollWindow(x,y) |
All |
xspClientDojo.js |
画面のスクロール |
XSP.showSection(sectionId,show) |
All |
xspClientDojo.js |
セクションの展開と省略 |
部分更新 |
|
|
|
XSP.partialRefreshGet(refreshId,options) |
All |
xspClientDojo.js |
GET リクエストによる部分更新の実行 |
XSP.partialRefreshPost(refreshId,options) |
All |
xspClientDojo.js |
POST リクエストによる部分更新尾の実行 |
イベント処理の登録 |
|
|
|
XSP.attachClientFunction(targetClientId,event,clientSideScriptName) |
All |
xspClientDojo.js |
コントロールのイベントへのクライアントサイド関数の関連付け |
XSP.attachClientScript(targetClientId,event,clientSideScript) |
All |
xspClientDojo.js |
コントロールのイベントへのクライアントサイドスクリプトの関連付け |
XSP.addOnLoad(listener) |
All |
xspClientDojo.js |
ページロードイベントトへのクライアントサイドスクリプトの関連付け |
UI 要素取得 |
|
|
|
XSP.findForm(nodeoe_elementId) |
All |
xspClientDojo.js |
指定されたコントロールの親フォームの取得 |
XSP.findParentByTag(node_or_elementId) |
All |
xspClientDojo.js |
指定されたコントロールの親コントロールの取得 |
XSP.getElementById(elementId) |
All |
xspClientDojo.js |
エレメントの取得 |
XSP.hasDijit() |
All |
xspClientDojo.js |
Dojo Dijit コントロールが存在するかの判断 |
文字列操作 |
|
|
|
XSP.trim(string) |
All |
xspClientDojo.js |
文字列の前後の空白文字の取り除き |
XSP.startWith(string,prefix) |
All |
xspClientDojo.js |
文字列の開始文字列の判断 |
XSP.endWith(string.suffix) |
All |
xspClientDojo.js |
文字列の終了文字列の判断 |
XSP.toJson(object) |
All |
xspClientDojo.js |
オブジェクトの JSON への変換 |
XSP.fromJson(string) |
All |
xspClientDojo.js |
JSON のオブジェクトへの変換 |
デバッグ |
|
|
|
XSP.log(message) |
Web/MU |
xspClientDojo.js |
クライアントサイドでのログの出力 |
XSP.dumpObject(object,option) |
Web/MU |
xspClientDebug.js |
オブジェクトのダンプ情報の生成 |
※ プラットフォームの値は以下を示します。
-
Web
-
Mobile
-
Notes
-
CA ・・・ 複合アプリケーション (Compisite Application)
-
MU ・・・ IBM Mashup Center
-
All ・・・ 上記のすべて
参考文献
XSP クライアントサイド Javascript オブジェクト関数についての詳細は 「XPages Portable Command Guide」 の第4章に記載されています。
サンプルコード |